/****************************************************************************
 *
 *   Copyright (c) 2020 Estimation and Control Library (ECL). All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name ECL nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include <geo_lookup/geo_mag_declination.h>


TEST(GeoLookupTest, declination) {
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.13472, 0.40061 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.34448, 0.39369 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.37883, 0.3879 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.28636, 0.38307 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.10922, 0.37902 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 30.88621, 0.37562 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.65409, 0.37277 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.44561, 0.37036 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.28462, 0.36831 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.17968, 0.36656 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.11855, 0.36506 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.06528, 0.36379 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.96095, 0.36276 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.72783, 0.36203 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.27647, 0.36168 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.51465, 0.36183 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.3575, 0.36262 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.73767, 0.36422 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.61481, 0.36676 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.98359, 0.37037 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.87978, 0.37514 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.38323, 0.38111 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.61585, 0.3883 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.73265, 0.39668 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.90507, 0.40626 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.70143, 0.41704 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -3.95047, 0.42903 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.75308, 0.44218 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.07745, 0.45634 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.94918, 0.4712 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.44404, 0.48623 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.6766, 0.50065 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.78798, 0.51349 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.9341, 0.52363 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.27244, 0.52999 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.94401, 0.53172 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -21.05029, 0.52844 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.63142, 0.52035 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.65581, 0.50828 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.02801, 0.49346 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.61228, 0.47731 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.26153, 0.4612 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -40.8406, 0.44623 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.23816, 0.43318 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.36824, 0.42251 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.16559, 0.41447 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.57914, 0.40912 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.56605, 0.40647 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.08689, 0.40652 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.10116, 0.40931 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.56202, 0.41493 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.40954, 0.42359 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.56315, 0.43561 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.91553, 0.45133 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.33239, 0.47097 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.66481, 0.4944 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.78268, 0.5206 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.63537, 0.54723 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.33122, 0.57048 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -22.19483, 0.58594 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.73835, 0.59041 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.52666, 0.58353 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 1.98579, 0.56772 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.54071, 0.54662 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.06086, 0.52356 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.58602, 0.50085 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.21206, 0.47982 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.05229, 0.46105 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.21912, 0.44471 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 28.81787, 0.43071 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 29.94571, 0.41887 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.69148, 0.40892 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.13472, 0.40061 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.23048, 0.37404 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.54373, 0.37018 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.69128, 0.36695 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.71273, 0.36426 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.64053, 0.36204 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.50495, 0.36021 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.33818, 0.35875 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.17458, 0.35761 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.04638, 0.35678 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 25.97631, 0.35624 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.96995, 0.35596 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.00968, 0.35595 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.05128, 0.35621 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.02334, 0.35676 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.8301, 0.35765 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.35861, 0.35897 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.49067, 0.36086 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.11856, 0.36351 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.16199, 0.36709 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.58386, 0.37179 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.40306, 0.37772 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.70265, 0.38492 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.63034, 0.39336 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.38695, 0.40299 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -0.79918, 0.4138 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.70787, 0.42585 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.16285, 0.43927 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.05647, 0.45419 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.35749, 0.47069 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -15.10275, 0.48863 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.37851, 0.50768 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.30034, 0.52716 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -18.00026, 0.54601 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.62521, 0.56269 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.34159, 0.57533 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.33082, 0.58199 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.76258, 0.58128 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.74851, 0.5728 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.30082, 0.55741 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.3235, 0.53701 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.6431, 0.51402 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.05948, 0.4908 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.3892, 0.46921 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.48669, 0.45047 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.24493, 0.43521 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.58568, 0.4236 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.44832, 0.41557 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -50.78164, 0.41089 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.53889, 0.40931 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.67431, 0.41057 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.1393, 0.41444 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.87808, 0.42071 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.82589, 0.42912 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.91611, 0.43924 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -41.10324, 0.45035 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.40235, 0.46125 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.931, 0.47041 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.92352, 0.47634 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.69174, 0.47816 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.54397, 0.47592 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.71251, 0.47038 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.33015, 0.46257 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.54821, 0.45343 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 7.91001, 0.44363 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.75934, 0.43366 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.10556, 0.42384 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 17.96099, 0.41444 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.34177, 0.40564 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.27007, 0.3976 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.77683, 0.39039 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 24.90374, 0.38408 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.70253, 0.37865 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.23048, 0.37404 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.44323, 0.3546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.79032, 0.35258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 22.99155, 0.35095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.08033, 0.34964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.07878, 0.34861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.0044, 0.34782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.87786, 0.34727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.72667, 0.34697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.58296, 0.34692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.47681, 0.34716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.42826, 0.34769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43984, 0.34854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.48981, 0.34971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.52561, 0.35121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.45936, 0.35304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.16917, 0.35527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.51016, 0.35801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.33513, 0.36144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.52076, 0.36578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.99358, 0.37124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.75178, 0.37795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.88016, 0.3859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.5536, 0.395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), 0.0216, 0.40512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.43001, 0.41623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.53234, 0.42844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.08352, 0.44204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -14.97749, 0.45733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.205, 0.47458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.83106, 0.49391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.95944, 0.51528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.69855, 0.53837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -21.14392, 0.56243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.38763, 0.58604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.55042, 0.60683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.81242, 0.6217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.40628, 0.62752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.55312, 0.62237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.36935, 0.60637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.80924, 0.58179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.68504, 0.55221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -33.74331, 0.52141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -36.74183, 0.49241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.48975, 0.46717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -41.85089, 0.44658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -43.72905, 0.43078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.05241, 0.41949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.76418, 0.41219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.81907, 0.40832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.18201, 0.40726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.82587, 0.40843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.72881, 0.41123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.87713, 0.41499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.28207, 0.41895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -31.01239, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.22662, 0.42376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -21.17275, 0.4231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -16.13459, 0.4202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.34778, 0.41562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.94049, 0.41018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.93241, 0.40459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.72174, 0.3992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.08052, 0.39413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.18251, 0.3893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.03776, 0.38463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.63543, 0.38005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 14.95519, 0.37557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 16.97551, 0.37124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.67923, 0.36714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.05933, 0.36336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.12506, 0.35998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 21.90494, 0.35705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.44323, 0.3546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.40078, 0.33987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.74028, 0.33899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 19.95736, 0.33839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.084, 0.338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.13461, 0.33779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.11364, 0.33773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.02694, 0.33783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.88939, 0.33811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.72556, 0.3386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.56501, 0.33934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.43568, 0.34038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.357, 0.34174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.33106, 0.34345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.33044, 0.34549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.28485, 0.34787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.07412, 0.3506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.53572, 0.35377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.4895, 0.35758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.77365, 0.36226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.282, 0.36803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.99573, 0.37498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 6.00504, 0.38305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.5143, 0.39207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.18022, 0.40184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -7.7444, 0.41232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -11.87781, 0.42371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.37416, 0.43642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.14835, 0.45089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.22659, 0.46746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.70876, 0.48637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.71712, 0.50775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.34864, 0.53163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.65115, 0.55777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.63874, 0.58531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -23.34617, 0.61223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.89852, 0.63503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.54738, 0.64922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.62168, 0.65087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.39338, 0.63843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -24.94433, 0.61358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.13541, 0.58048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -29.68788, 0.54418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.29834, 0.50906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -34.71284, 0.47801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -36.74516, 0.45242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.26459, 0.43252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.17974, 0.41786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.42981, 0.40769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -38.98228, 0.40113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.83109, 0.39729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.99058, 0.39536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.48751, 0.39457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.36115, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.68204, 0.39353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.58428, 0.39193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.28268, 0.38898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -14.04157, 0.38473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -10.097, 0.37963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.58092, 0.37437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.49748, 0.36955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.75803, 0.36546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.75637, 0.36213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14058, 0.35939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.43907, 0.35701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.64922, 0.35479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.7409, 0.35262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.67556, 0.35045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.4153, 0.34831 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 15.92543, 0.34622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.17852, 0.34427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.1631, 0.34252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 18.89168, 0.34104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.40078, 0.33987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 16.91179, 0.32857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.21493, 0.32841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.41777, 0.32847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.55568, 0.3287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.6397, 0.32906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.66392, 0.32954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.61967, 0.33014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.5069, 0.33086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.33798, 0.33174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.13569, 0.33283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.92929, 0.33418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.74954, 0.33581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.61919, 0.33775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.53558, 0.33998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.44857, 0.3425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.24464, 0.34531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.75073, 0.34851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.76272, 0.35229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 13.0908, 0.35688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.60744, 0.36249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.28744, 0.36916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 3.23408, 0.37675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.31764, 0.385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.03373, 0.3937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.55137, 0.40287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.56273, 0.4128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -17.87653, 0.42399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.43652, 0.43693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.30016, 0.45193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.59085, 0.46914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.43781, 0.48863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.92131, 0.51046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -25.04586, 0.53468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.75928, 0.56095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -24.0183, 0.58798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.87968, 0.61291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.571, 0.63134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.47724, 0.6386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -20.00939, 0.63176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.42011, 0.6112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.69914, 0.58038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.61222, 0.54433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -25.82358, 0.50796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.00542, 0.47486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -29.89118, 0.44694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.28539, 0.42477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.05831, 0.40797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.14059, 0.3957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.51859, 0.387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.22417, 0.38091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.31572, 0.37657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.85729, 0.3733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.91347, 0.37049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.57159, 0.3676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.97875, 0.36424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.35489, 0.3602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.9491, 0.35566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.95444, 0.35103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.43881, 0.34681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33734, 0.34332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.49757, 0.34068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.22373, 0.33879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.95042, 0.33742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.71454, 0.33633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.49315, 0.33536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.23535, 0.33438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.88912, 0.33338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.41001, 0.33236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.75744, 0.33136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 14.8936, 0.33041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.79282, 0.3296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.45518, 0.32897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 16.91179, 0.32857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 14.87517, 0.32001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.12095, 0.32028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.28353, 0.32076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.40567, 0.3214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.49975, 0.32217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.55382, 0.32305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.54753, 0.32401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.46669, 0.32508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.31, 0.32626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.09011, 0.3276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.83287, 0.32912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.57509, 0.33087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.35463, 0.33283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.18841, 0.335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 14.04228, 0.33736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.80809, 0.33995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.3057, 0.34288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.3162, 0.34633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.63562, 0.35054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 8.13087, 0.35566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.78463, 0.36164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.7216, 0.36829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -3.7951, 0.37529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.40946, 0.38245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -12.75428, 0.38989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.53656, 0.39801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.58971, 0.40734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -21.87977, 0.41835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.47667, 0.43124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.50471, 0.44599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -25.0836, 0.46241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.27524, 0.48035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -25.05934, 0.49969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.3561, 0.52025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -23.09448, 0.54126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -21.30327, 0.56085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -19.18431, 0.57595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -17.1159, 0.58299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.55216, 0.5794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.85478, 0.56481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.15943, 0.54122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.35222, 0.51217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.14205, 0.48151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.16474, 0.45245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.06922, 0.42706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.57084, 0.4062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.47739, 0.38985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.69611, 0.37743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.22464, 0.36814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.1252, 0.36118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.48598, 0.35587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.38621, 0.35168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.88877, 0.34814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -14.07083, 0.34487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -11.07041, 0.34156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -8.10162, 0.33805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.40538, 0.33445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.15702, 0.33103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39477, 0.32811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.0156, 0.32587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.16636, 0.32435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.33668, 0.32341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.61317, 0.32288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 5.02091, 0.32254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.51337, 0.32223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.01748, 0.3219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.46958, 0.32153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.82352, 0.32112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.03922, 0.32072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.07438, 0.32035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 13.89302, 0.32007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.48448, 0.31994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 14.87517, 0.32001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.23366, 0.31378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.40845, 0.31432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.50973, 0.31505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.59066, 0.31595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.66928, 0.31698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.73221, 0.31812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.75137, 0.31935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.7009, 0.32065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.56683, 0.32204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.35113, 0.32354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.07435, 0.32515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.77549, 0.32689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.50152, 0.32874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.2808, 0.3307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 12.08683, 0.33277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.81156, 0.33499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.26904, 0.3375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.23452, 0.34051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.50465, 0.34421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.95723, 0.34866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.59625, 0.35375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.42717, 0.3592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -5.82922, 0.3647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.25046, 0.37012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.34054, 0.37566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -17.83385, 0.38179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.58613, 0.38904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.57027, 0.39782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.84675, 0.40821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.52111, 0.42002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.69547, 0.4328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.42483, 0.44605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.69833, 0.4594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.46206, 0.47252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.67899, 0.48494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -18.40031, 0.49574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.81337, 0.50343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -13.23738, 0.5063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -11.05796, 0.50302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.62302, 0.49324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.14462, 0.4778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.6435, 0.45844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -10.9484, 0.4373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.74367, 0.41642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.64893, 0.39733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.30732, 0.38094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.45625, 0.36751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.96223, 0.35687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.81519, 0.34857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -17.08821, 0.34212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.87965, 0.33707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.2661, 0.33306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.29528, 0.3298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -10.02521, 0.32699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.5798, 0.32438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.16771, 0.32183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -3.03042, 0.31937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.34285, 0.31714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.13428, 0.31535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.71903, 0.31409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.43062, 0.31337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.20907, 0.31308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.17931, 0.31307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.35444, 0.31318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.66436, 0.31329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 7.01419, 0.31334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.32959, 0.31334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.56457, 0.31331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.68225, 0.31326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.63861, 0.31324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.38934, 0.31328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 12.9138, 0.31344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.23366, 0.31378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 11.94713, 0.30965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.0464, 0.31034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.07325, 0.31122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.09346, 0.31227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.13445, 0.31345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.18562, 0.31474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.21485, 0.31611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18722, 0.31753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.07792, 0.31902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.87962, 0.32055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.60794, 0.32215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.30222, 0.32379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 11.01304, 0.32545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.77142, 0.32713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.54896, 0.32885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.23189, 0.33069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.62986, 0.3328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.5214, 0.33539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.71748, 0.33857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 4.12061, 0.34235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.76484, 0.34651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.17309, 0.35073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.40014, 0.35472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.57031, 0.35842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.3624, 0.36211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.53888, 0.36624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -20.96765, 0.37132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.61346, 0.37768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51417, 0.38534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.75123, 0.39397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.4166, 0.40298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.58222, 0.41168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -21.28551, 0.4195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.54314, 0.42607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -17.38777, 0.43119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.90604, 0.43469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -12.25602, 0.43627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.65833, 0.43553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.36992, 0.43204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.64872, 0.4256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.70835, 0.41637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66177, 0.40498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.46936, 0.39232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -6.92219, 0.37937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.68284, 0.36698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.37641, 0.35579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.69321, 0.34615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.45736, 0.33812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.63609, 0.33159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.29464, 0.32632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.52526, 0.32211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.39139, 0.31877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.92062, 0.3161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -7.14975, 0.31393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.18652, 0.31207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.23202, 0.3104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.52913, 0.30889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.2588, 0.30761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.5477, 0.30668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 1.02321, 0.30614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.4001, 0.30598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.90539, 0.30613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.67041, 0.30648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.69837, 0.30689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.89902, 0.30728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.15833, 0.30761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.39229, 0.30788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.55494, 0.30811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.61232, 0.30832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.51901, 0.30852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.22291, 0.30878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.69351, 0.30914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 11.94713, 0.30965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 10.97555, 0.30744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.00638, 0.30824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 10.95687, 0.3092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 10.90716, 0.31032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.89733, 0.31156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.92327, 0.3129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.95153, 0.31429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93982, 0.31572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.85367, 0.31716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.678, 0.31862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.42487, 0.32007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.13346, 0.32151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.85385, 0.32292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.61225, 0.3243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.3708, 0.32569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 9.00658, 0.32721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.32814, 0.32901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 7.12618, 0.33127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.23714, 0.33404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.5972, 0.33722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -0.7271, 0.34054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.53987, 0.34365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.55164, 0.3463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.44112, 0.3485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -15.91856, 0.35053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -18.76722, 0.35283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -20.85657, 0.35585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.13654, 0.35984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.62405, 0.36477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.38676, 0.37033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.52403, 0.37591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -20.14633, 0.38083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -18.35992, 0.38452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -16.2632, 0.38671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.95266, 0.38745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.52885, 0.38697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -9.09724, 0.38554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.76995, 0.38328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.67602, 0.38012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.9742, 0.37592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.84563, 0.37059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.44722, 0.36424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.83702, 0.35716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.91431, 0.34973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.41972, 0.34233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.0076, 0.3353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.35776, 0.32891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.26796, 0.32331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.68202, 0.31853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.64906, 0.31453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.24738, 0.31124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.52341, 0.3086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.48427, 0.30652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.14563, 0.30491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.59661, 0.30363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -2.02549, 0.3026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.67103, 0.30179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.28146, 0.3012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.79443, 0.30088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 1.00114, 0.30085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.14351, 0.30109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.46052, 0.30155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 2.08851, 0.30215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 3.02455, 0.3028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.16442, 0.30343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.37998, 0.304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.57906, 0.30452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.71425, 0.30499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.75232, 0.30542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.64504, 0.30583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.33202, 0.30627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.77227, 0.30679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 10.97555, 0.30744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.26891, 0.307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.25237, 0.30791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.13865, 0.30893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.0234, 0.31008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 9.96242, 0.31131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 9.96133, 0.31261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 9.98739, 0.31393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.99137, 0.31523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.92898, 0.31651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.77772, 0.31775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.54689, 0.31896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.27519, 0.32011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 9.00946, 0.32121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.76662, 0.32227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.49591, 0.32338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 8.06588, 0.32466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.28927, 0.32626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.97708, 0.3283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.99886, 0.33077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.32806, 0.33347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -1.93937, 0.33611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.59781, 0.33832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.37201, 0.3399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -12.96988, 0.34088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.12871, 0.34155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.64413, 0.34231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.38264, 0.34352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28396, 0.34542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.35761, 0.34797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.67522, 0.3509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.35791, 0.35372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.55913, 0.3559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.44486, 0.35701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -13.17377, 0.3569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.87888, 0.35572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.65323, 0.35382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.54656, 0.35154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.58127, 0.34912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.78807, 0.34658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -1.24591, 0.34382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), -0.0966, 0.34071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.49084, 0.33719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.40035, 0.33329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.34948, 0.32913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.57636, 0.32483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -2.98381, 0.32056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.26742, 0.31647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.21792, 0.3127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.7642, 0.30932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.94086, 0.30637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.81271, 0.30387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.41147, 0.30182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.7272, 0.3002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.75654, 0.29899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.56845, 0.29811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.33244, 0.29751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27485, 0.29716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.42111, 0.29703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.71218, 0.29714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.72594, 0.29747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.70416, 0.29799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.88972, 0.29868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.4218, 0.29948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.29587, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.40199, 0.30119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.60465, 0.30202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.80572, 0.3028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.95441, 0.30354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.01503, 0.30422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 8.93433, 0.30487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.64252, 0.30552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.08698, 0.30622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.26891, 0.307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.76227, 0.3082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.73521, 0.30923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.58577, 0.31032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.42521, 0.31147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.32737, 0.31266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.31059, 0.31385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.34467, 0.315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.37333, 0.31609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.3413, 0.3171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.21747, 0.31803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 9.00749, 0.31889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.74847, 0.31969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.48228, 0.32044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.21526, 0.3212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.88489, 0.32206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.35561, 0.32317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.45102, 0.32464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 5.009, 0.32654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.93623, 0.32878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), 0.24298, 0.33112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -2.95121, 0.33323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.43961, 0.33476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -9.96706, 0.33553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.26971, 0.3356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.1063, 0.33523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.2813, 0.33476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.66255, 0.33454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.19252, 0.33476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.89058, 0.33541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.84598, 0.33633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -17.20376, 0.33718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -15.14618, 0.33759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.8707, 0.3373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.56369, 0.33624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.37088, 0.33453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.37275, 0.33244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.57893, 0.33026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.95178, 0.32817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.4556, 0.32623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), -0.11119, 0.32437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 0.97628, 0.32247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.64304, 0.32046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.74428, 0.31828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.24424, 0.31593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.26342, 0.31345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.95152, 0.31086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.12295, 0.30825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04714, 0.30571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.64676, 0.30333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.94728, 0.30116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -4.00496, 0.29926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.84311, 0.29765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.44139, 0.29637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.78184, 0.29541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.91366, 0.29478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.98304, 0.29444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.19571, 0.29437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.27561, 0.29454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.38573, 0.29492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.25307, 0.29549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), 0.11053, 0.29621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.19656, 0.29706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.65061, 0.29803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.47134, 0.29909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.55193, 0.30019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.75711, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.98558, 0.30239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.18157, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.30377, 0.30444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.29178, 0.30539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.06541, 0.30631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.559, 0.30724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.76227, 0.3082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.37507, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.39035, 0.31204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.25143, 0.31322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.08303, 0.31437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 8.97777, 0.31547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 8.96902, 0.3165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.03103, 0.31743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.1011, 0.31823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.112, 0.31891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 9.02208, 0.31948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.8309, 0.31996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.57152, 0.32037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.27954, 0.32077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.95192, 0.32124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.51876, 0.3219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.84702, 0.32287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.77784, 0.32425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 4.18055, 0.32603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 2.00022, 0.32808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.71874, 0.33012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -3.8384, 0.3318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.15544, 0.33282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.43504, 0.33301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.43814, 0.33243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -15.94268, 0.3313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.76619, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.78968, 0.32862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.97394, 0.32758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.36092, 0.32686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -17.06094, 0.32636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -15.23305, 0.32591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -13.06558, 0.32528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.75785, 0.32432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.49755, 0.32296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.43026, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.6294, 0.31943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -3.0852, 0.3176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.72766, 0.31592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.48049, 0.31444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.67639, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.66995, 0.3119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.35065, 0.3107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.5638, 0.30946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.24069, 0.30813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45611, 0.30667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.41357, 0.30508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.63773, 0.30338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.50481, 0.30164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.10918, 0.29993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.4714, 0.29831 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.64459, 0.29683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.65106, 0.29553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.46823, 0.29447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.07007, 0.29367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.48851, 0.29317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.84427, 0.29296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.31609, 0.29304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.0583, 0.29336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.11284, 0.2939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.37128, 0.29461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.61592, 0.29546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.61965, 0.29644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.24496, 0.29755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.51415, 0.2988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.56197, 0.30016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.77071, 0.30158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 4.03907, 0.30301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.30547, 0.30443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.5208, 0.30581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.61624, 0.30713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.50104, 0.30839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.09561, 0.30963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.37507, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.01529, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.13883, 0.31604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.07373, 0.31735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 8.95261, 0.31851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.88441, 0.31952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.91798, 0.32036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.03421, 0.32103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.16612, 0.32152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.23543, 0.32186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.18872, 0.32206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 9.01637, 0.32217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.74405, 0.32224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.39963, 0.32234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.97286, 0.32258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.39203, 0.32307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.53345, 0.32393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.26118, 0.32522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.47838, 0.32687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 1.16772, 0.32871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.59501, 0.33045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.65587, 0.33174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -7.81406, 0.33233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -10.85084, 0.33208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.54856, 0.33103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.70727, 0.32936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.16853, 0.32735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.84163, 0.32529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.7184, 0.32339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.8679, 0.32173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.41545, 0.32031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.51881, 0.31906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.35173, 0.31785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -9.09456, 0.31659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.92085, 0.3152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.97073, 0.3137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.31756, 0.31216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.94931, 0.31069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.78515, 0.30935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.27214, 0.3082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.27029, 0.30723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.16398, 0.30641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.82289, 0.30567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.09474, 0.30496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.89305, 0.30422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.25975, 0.30337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.36231, 0.30237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.42299, 0.30123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.37749, 0.29999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.96119, 0.2987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.34558, 0.29742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.58387, 0.29622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.70331, 0.29511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.68691, 0.29418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.50774, 0.29345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.18479, 0.293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.81351, 0.29283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.54207, 0.29295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.50042, 0.29334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.72202, 0.29394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.10714, 0.29471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.45624, 0.29562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.55768, 0.29668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.27736, 0.29792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.59902, 0.29933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.39842, 0.30092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.60022, 0.30264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.90809, 0.30443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.25481, 0.30625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.58258, 0.30805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.81442, 0.30979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.85046, 0.31147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.59796, 0.31308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.01529, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.5907, 0.31911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.8942, 0.32082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 8.97873, 0.32229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 8.97543, 0.3235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.00244, 0.32443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.12133, 0.32508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32115, 0.32549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.5347, 0.32569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.67641, 0.32572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.68217, 0.32563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.53106, 0.32547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.23786, 0.3253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.82087, 0.32521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.26442, 0.3253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.49973, 0.32571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.41764, 0.3265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.90831, 0.32771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.909, 0.32922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.43807, 0.33081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.39906, 0.33219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.43134, 0.33306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.4553, 0.33322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.26196, 0.33255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.6533, 0.33112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.45826, 0.32907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.55569, 0.32666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.89646, 0.32413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.51007, 0.32169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.48996, 0.31946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.96605, 0.31749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -12.0811, 0.31578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.98133, 0.31426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.81782, 0.31287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.7431, 0.31154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.88971, 0.31024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.33521, 0.30898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -1.07624, 0.3078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), -0.03623, 0.30674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 0.88809, 0.30583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.76141, 0.3051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.56214, 0.30453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.18226, 0.30409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.48068, 0.30371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.36428, 0.30333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.85162, 0.30286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.07935, 0.30223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.24372, 0.30142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.51214, 0.30046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), -0.03885, 0.2994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.42351, 0.29832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.6957, 0.29726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.89054, 0.29626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -1.00219, 0.29537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.00927, 0.29466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.92289, 0.29419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.8155, 0.29399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.80372, 0.29409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -0.98964, 0.29446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.39383, 0.29505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -1.92229, 0.29582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.39316, 0.29673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.61127, 0.29782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.44643, 0.29911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -1.87115, 0.30065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -0.94505, 0.30242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.23305, 0.30438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.56995, 0.30649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.99357, 0.30867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.43797, 0.31088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.81971, 0.31306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.03329, 0.31518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 7.97625, 0.31721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.5907, 0.31911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.02746, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.5771, 0.32589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.88997, 0.32756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.08362, 0.32884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.2736, 0.32971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52704, 0.33021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.84075, 0.33041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.15227, 0.33039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.37525, 0.33021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.43913, 0.32996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.31193, 0.32968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.99523, 0.32945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.49586, 0.32935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.79318, 0.32948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.82382, 0.32993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.49555, 0.33076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.72516, 0.33194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.48244, 0.33331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.18072, 0.33462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.12954, 0.33558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.17216, 0.33595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.09571, 0.33559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.69541, 0.33446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.79319, 0.33264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.25416, 0.3303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -16.00462, 0.32764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -16.04399, 0.32487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.43943, 0.32216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.30216, 0.31964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.75755, 0.3174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.9257, 0.31545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.92098, 0.31379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.86315, 0.31237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.88214, 0.31112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -3.10151, 0.31 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.60369, 0.30897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.39907, 0.30804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.57528, 0.30721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.41757, 0.30651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.20066, 0.30597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 2.92282, 0.30559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.50037, 0.30537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.81018, 0.30523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.76125, 0.3051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.35596, 0.30488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.7032, 0.30448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 1.9722, 0.30385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.3143, 0.30302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.80301, 0.30206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.42775, 0.30103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.13556, 0.3 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.11618, 0.29901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.33488, 0.2981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.509, 0.29736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.64641, 0.29683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.8, 0.29657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.056, 0.29659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.48722, 0.29689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.09784, 0.29741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.79547, 0.2981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.41265, 0.29896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.76915, 0.3 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.73879, 0.30128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.28384, 0.30283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.44564, 0.30468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.30734, 0.30679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), 0.04341, 0.30911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.53059, 0.31156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.08146, 0.3141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.60903, 0.31665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.00722, 0.31918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.17002, 0.32161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.02746, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.29089, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.13512, 0.33079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.74421, 0.33265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.21029, 0.33402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.63193, 0.33489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.07102, 0.33532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.52869, 0.33541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.95105, 0.33529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.25846, 0.33508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.3805, 0.33485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.27741, 0.33469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.93758, 0.33464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.35518, 0.33478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.50387, 0.33518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.32545, 0.33591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.74386, 0.33696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.70046, 0.33825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 2.1947, 0.33955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.68981, 0.34059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.78775, 0.34108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -6.88189, 0.34085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.7444, 0.33983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.17189, 0.3381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.00821, 0.33582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.15931, 0.33317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.60228, 0.33033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.38387, 0.32746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.60327, 0.32468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.38245, 0.32209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.83745, 0.31977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -10.06526, 0.31776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -8.15128, 0.31608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -6.18745, 0.31469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -4.28241, 0.31355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.5493, 0.31259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -1.07335, 0.31177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.12102, 0.31106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.07848, 0.31046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 1.88465, 0.30997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.61323, 0.30962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.27842, 0.30943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.82182, 0.30939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.14343, 0.30945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.16148, 0.30952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.86779, 0.30947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.34502, 0.3092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.73244, 0.30864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.16044, 0.30783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.69605, 0.30685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.33208, 0.30577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.01898, 0.30467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.70973, 0.30361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.38506, 0.30263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.04555, 0.30181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.31655, 0.30119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.73803, 0.30083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.27697, 0.30076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -1.97672, 0.30094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.82218, 0.30133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.71771, 0.30189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.50544, 0.3026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.01723, 0.3035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.13119, 0.30464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.80237, 0.3061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.05789, 0.30788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -2.9684, 0.30998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.61719, 0.31234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.0837, 0.31491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.55431, 0.31762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.20956, 0.32041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78085, 0.32321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.16624, 0.32595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.29089, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.39942, 0.33285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.56031, 0.33527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.50859, 0.33726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.30313, 0.33873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 10.01303, 0.33967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.68331, 0.34014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.31343, 0.3403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.85881, 0.34029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.25186, 0.34026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.42886, 0.34033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.34722, 0.34055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.98467, 0.34099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.32317, 0.3417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.32962, 0.3427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.94885, 0.34402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 7.11774, 0.34558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.79835, 0.34722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 2.01642, 0.34863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.11383, 0.34947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.39445, 0.34947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.57888, 0.3485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.4216, 0.34666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.72114, 0.34416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.34573, 0.34125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.24287, 0.33819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.43659, 0.33513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -15.01294, 0.33218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -14.09408, 0.32941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.80682, 0.32688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -11.25764, 0.32462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.52555, 0.32268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.67474, 0.32106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.77603, 0.31977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.91977, 0.31876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -2.20739, 0.31798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.72314, 0.31739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.49749, 0.31693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.48044, 0.31658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.29449, 0.31634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.00845, 0.31621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.64831, 0.31623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.18029, 0.31638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.53065, 0.31662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.63212, 0.31684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.47033, 0.31691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.10236, 0.3167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.63376, 0.31614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.16779, 0.31526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.75982, 0.31416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.40451, 0.31295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.05792, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.6731, 0.31052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.22318, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.69973, 0.30851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.0945, 0.30779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.61544, 0.30733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.46212, 0.30712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.45944, 0.30715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.57019, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.69049, 0.30768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.66687, 0.30813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.34064, 0.30874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.59545, 0.3096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.38391, 0.31077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.72518, 0.31231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.68249, 0.31419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.33711, 0.3164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.77162, 0.31887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.06696, 0.32155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.6921, 0.32438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.41377, 0.32727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 5.00681, 0.33014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.39942, 0.33285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.42314, 0.33704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.89439, 0.33946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.19081, 0.34149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.33671, 0.34306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.36573, 0.34415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.29804, 0.34486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.12485, 0.34531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.80789, 0.3457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.29241, 0.34616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.52455, 0.34684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.46294, 0.34781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 13.07812, 0.34911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.34158, 0.35077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.21306, 0.3528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.63785, 0.35513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.56182, 0.35761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.96356, 0.35996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.89253, 0.36174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.50631, 0.36252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -4.99981, 0.362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.30967, 0.36016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.1731, 0.35725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.39361, 0.3537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.86592, 0.34991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.57634, 0.34621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.58734, 0.34277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -15.01286, 0.33965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.98821, 0.33687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.64059, 0.33441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -11.06928, 0.33227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.34301, 0.33046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.51444, 0.32899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.64129, 0.32785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.7996, 0.32702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -2.07834, 0.32647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.55665, 0.32615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.72372, 0.32599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 1.77261, 0.32596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.64091, 0.32602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.38856, 0.32617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.04885, 0.32643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.60987, 0.32679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.02443, 0.32719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.24227, 0.32752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.24579, 0.32765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.06708, 0.32744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.775, 0.32683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.44002, 0.32585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.10011, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.74872, 0.32323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.34841, 0.32184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.85648, 0.32052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.24391, 0.31933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.49781, 0.31832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.61147, 0.31751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.42419, 0.31693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.61559, 0.31657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -2.94628, 0.31637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.35374, 0.31627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.72102, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -6.89489, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.72478, 0.31635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.10281, 0.3167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -7.98544, 0.31737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.39111, 0.31842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.38134, 0.31987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.03795, 0.32169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.44631, 0.32383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.68875, 0.32625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.15447, 0.32887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 2.00315, 0.33161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.78046, 0.33438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.42314, 0.33704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.46264, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.21475, 0.34402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.8346, 0.34604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.31734, 0.34773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.66356, 0.34912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.86715, 0.35027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.90676, 0.35132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.74521, 0.35245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.33631, 0.3538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.63419, 0.35552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.59914, 0.35768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.19624, 0.36033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.38799, 0.36348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 12.12684, 0.36709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.35646, 0.37103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 8.02856, 0.37501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 5.13583, 0.37856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.75131, 0.38107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -1.9466, 0.38193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.68598, 0.38082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.15563, 0.37782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.07848, 0.37347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.26773, 0.36843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.64627, 0.36335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.23486, 0.35863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -16.12492, 0.35449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.44728, 0.35095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.34206, 0.34797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.93389, 0.34548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -11.31775, 0.34341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.55928, 0.34173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.70825, 0.34043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.81671, 0.33949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.95052, 0.33891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -2.18641, 0.33865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.595, 0.33866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 0.7809, 0.33887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 1.93953, 0.33921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 2.91543, 0.33964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.75753, 0.34013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.50159, 0.34067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.15251, 0.34123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.68609, 0.34177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.06825, 0.34218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.27922, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.32753, 0.34209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.2449, 0.34144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.06596, 0.3404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.80656, 0.33909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.45471, 0.33765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 4.97801, 0.33622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.3401, 0.33488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.51468, 0.33369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.48993, 0.33268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.26525, 0.33185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.15166, 0.33117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.7392, 0.3306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.4475, 0.33005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.18452, 0.32945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -6.81603, 0.32875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.18663, 0.32799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.15509, 0.3273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.62681, 0.32681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.5693, 0.32667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.00761, 0.32696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.00672, 0.3277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.65095, 0.32888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.02781, 0.33044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.2194, 0.33235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.30069, 0.33452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.65941, 0.33687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.59819, 0.33932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.46264, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.61324, 0.34825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.60366, 0.35032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.49939, 0.35234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.27567, 0.35426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.90884, 0.35611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.37145, 0.35798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.62916, 0.35999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.64092, 0.36229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.36226, 0.36504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.74911, 0.36836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.7595, 0.37236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.3512, 0.37707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.4766, 0.38251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 13.07925, 0.38858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 11.09877, 0.39503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.49064, 0.40138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.26192, 0.40688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.51343, 0.41058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.53551, 0.41163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.56737, 0.40964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.23657, 0.40493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.25625, 0.3984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.45542, 0.39113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.78744, 0.38402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.30404, 0.37764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -17.11818, 0.37223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.36971, 0.3678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -15.19826, 0.36425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.72449, 0.36144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -12.04126, 0.35925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -10.21574, 0.35759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -8.30039, 0.35641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -6.34659, 0.35568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.41349, 0.35536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.56648, 0.35542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.86574, 0.3558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.64918, 0.35642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 1.96983, 0.35719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.11748, 0.35803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.12928, 0.35889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.03862, 0.35972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 5.85979, 0.36048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.58447, 0.36114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.1903, 0.3616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.65482, 0.36177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 7.96558, 0.36158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.12054, 0.36102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.11953, 0.36013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 7.95375, 0.35903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.60093, 0.35785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.02932, 0.35672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.20745, 0.3557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.11385, 0.35483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.74265, 0.35409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 2.10534, 0.35341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.23269, 0.35269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -1.81926, 0.35181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -3.96066, 0.35066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.06409, 0.34915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -7.97446, 0.3473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.5344, 0.34525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.61599, 0.3432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.14473, 0.34139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.1068, 0.33999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.5403, 0.33912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.51769, 0.33881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.12697, 0.33904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.45685, 0.33977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.58812, 0.34092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.59077, 0.34243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.52479, 0.34421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.55804, 0.34618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.61324, 0.34825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.93033, 0.35865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 5.11535, 0.36059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 7.23302, 0.36272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 9.24835, 0.36506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 11.12416, 0.36766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.81981, 0.37061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.29089, 0.37403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.48997, 0.37807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.36806, 0.38291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.87551, 0.38869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.96128, 0.39552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.57019, 0.40347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.63945, 0.41254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 14.09844, 0.42254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.87774, 0.43306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.93372, 0.44327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.29028, 0.45191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.08612, 0.45746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.40289, 0.45864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.79976, 0.45504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.71992, 0.44739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.87204, 0.43726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -17.10952, 0.42634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.42128, 0.41592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.88982, 0.40675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.64629, 0.39911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.83607, 0.39297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.59647, 0.38818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -15.04415, 0.38452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -13.271, 0.3818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -11.34725, 0.37986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -9.32963, 0.3786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -7.27071, 0.37793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -5.22472, 0.37779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -3.24692, 0.37812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.38666, 0.37883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.32229, 0.37982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 1.86873, 0.38098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.26384, 0.3822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.53293, 0.3834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.70227, 0.3845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 6.78708, 0.38547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 7.78553, 0.38627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.68026, 0.38687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.44469, 0.38722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.04949, 0.38733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.46553, 0.38723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.66285, 0.38698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.60813, 0.3867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.26395, 0.38649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.59196, 0.38644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.55944, 0.38655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.14727, 0.38676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.35745, 0.38692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.21956, 0.38682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.79686, 0.38622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -1.80855, 0.38487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.45515, 0.38261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -6.97154, 0.37943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.1788, 0.37552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -10.92052, 0.37121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.08912, 0.36689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.63848, 0.36294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.58084, 0.35959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -11.97269, 0.35698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.89675, 0.35515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.44525, 0.35406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.70745, 0.35363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.76233, 0.35379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.67602, 0.35445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.50274, 0.35552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.7124, 0.35695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.93033, 0.35865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.41136, 0.37638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.75591, 0.37835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 7.05029, 0.38087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 9.25653, 0.38397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 11.33275, 0.38775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 13.23285, 0.39232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.90674, 0.39784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 16.30081, 0.40451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.35809, 0.41252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 18.01761, 0.42209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 18.21237, 0.43341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.86643, 0.44661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.89288, 0.46167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.19664, 0.4783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.6888, 0.49574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.31995, 0.51252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.13402, 0.5264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.32546, 0.53476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.74418, 0.53557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.61196, 0.52855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.84484, 0.51537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -17.15494, 0.49882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.43427, 0.48158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.71823, 0.46552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -21.12512, 0.45158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.80567, 0.44005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.91136, 0.43083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.578, 0.42365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.9191, 0.41821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -15.0256, 0.41419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.96964, 0.41137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.81059, 0.40954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.60102, 0.40855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -6.39037, 0.40829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -4.22482, 0.40863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -2.14371, 0.40945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), -0.17457, 0.41062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 1.67065, 0.412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.39517, 0.41346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.01246, 0.41492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.53785, 0.41628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 7.9799, 0.41752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.33442, 0.41864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.58262, 0.41967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.69275, 0.42064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.62346, 0.42163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.32683, 0.42275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.75042, 0.42411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.8385, 0.42583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.53404, 0.42797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.78261, 0.43055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53913, 0.43344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.77768, 0.43637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.50397, 0.4389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.76899, 0.44047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.68015, 0.44045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.59616, 0.43838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -4.84743, 0.43408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -7.84485, 0.42779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.38234, 0.4201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.31, 0.41179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.55015, 0.40361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.09437, 0.39613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -13.98785, 0.38969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.30974, 0.38442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.155, 0.38033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.62058, 0.37734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.79611, 0.37532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.75887, 0.37418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.57249, 0.37379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.28825, 0.37407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), 0.05184, 0.37495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.41136, 0.37638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.99655, 0.40743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.47906, 0.40974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.92147, 0.41307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 9.28669, 0.41751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.53333, 0.42321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.61493, 0.43033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.47944, 0.43912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 17.06865, 0.44987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 18.31695, 0.4629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 19.14917, 0.47858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.47729, 0.49727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 19.19687, 0.51925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 18.18537, 0.54458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.30755, 0.57281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.43699, 0.60256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.50498, 0.63106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.57913, 0.65396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -1.05861, 0.66635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.90762, 0.66493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -12.37399, 0.65009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.96568, 0.62576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -20.41799, 0.59718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.68914, 0.56867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.88106, 0.54282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -24.15838, 0.52072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.6962, 0.50255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.65451, 0.488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -21.16916, 0.47658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -19.35094, 0.4678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -17.28861, 0.4612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -15.05335, 0.4564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.70365, 0.45308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -10.28935, 0.451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.85413, 0.44995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -5.43602, 0.44972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -3.06617, 0.45016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.76703, 0.45109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.44873, 0.45236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.57737, 0.45385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 5.62089, 0.45546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.58191, 0.45713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.45816, 0.45887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.23785, 0.46074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 12.89706, 0.46282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.39915, 0.46526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.69568, 0.46824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.72786, 0.47195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.42809, 0.47661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.72149, 0.48237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.52802, 0.48933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.76682, 0.49744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.36458, 0.50638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.27036, 0.5155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.47814, 0.52372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 7.05441, 0.5296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 3.16067, 0.53165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -0.94652, 0.52879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -4.95153, 0.52086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.54434, 0.50876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.48455, 0.49407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.63519, 0.47855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -14.96007, 0.46359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.49865, 0.45009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.3359, 0.43851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.57746, 0.42894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.33262, 0.42131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.70404, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.78227, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.6436, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.35034, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -2.95269, 0.40574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.49186, 0.40609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.99655, 0.40743 + 1);
}

TEST(GeoLookupTest, inclination) {
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.61953, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.63984, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.67502, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.72556, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.7905, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.86735, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.95111, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -65.03307, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.09974, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.13304, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.11166, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -61.01376, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.82049, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.52021, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.11286, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.61455, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.06133, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.51148, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04488, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.75821, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.75516, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.13177, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -47.95897, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.26656, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.03381, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.19109, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.63224, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.23359, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -54.87304, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.44411, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -57.86259, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.06697, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.01525, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.68183, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.05699, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.14962, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.99188, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.64256, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.18634, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.72659, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.37191, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.21948, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.34038, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.77151, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.51552, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.54676, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.82038, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.28161, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.87389, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.54467, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.24875, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -70.94878, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.61332, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.21326, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.71778, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.09151, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.29397, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.28234, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.01786, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.47492, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.64899, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.55858, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.23911, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.73266, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.07943, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.31357, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.46275, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.54941, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59241, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60809, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.61061, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.61157, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.61953, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.21128, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.23554, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.26768, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.30815, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.35672, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.41342, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.47782, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.54701, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.61344, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.66355, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.67792, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.63271, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.50233, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.26364, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.90199, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.41915, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.84196, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22945, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.67556, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.30485, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.25921, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.67566, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.65809, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.25035, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.42135, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.06982, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.04776, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.19282, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.35682, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.4223, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.30554, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -59.94941, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.31191, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.35711, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.05329, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.37979, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.33959, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.97187, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.35895, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.62334, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.9126, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.37409, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -60.12752, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.24558, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.74844, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61045, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.77365, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.16261, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.69755, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.3041, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -68.91886, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.49044, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -71.97647, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.33867, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.53901, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.53995, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.31008, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.83282, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.1125, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.17279, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.04783, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.77137, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.36991, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.86149, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.25794, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.56811, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.80036, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.96416, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.07101, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.13467, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17017, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.19187, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.21128, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.40284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.41546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.4309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.44741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.46287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.47774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.49521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.51892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.54959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.58221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.60429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.59513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.52608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.36325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.07437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.64088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.07338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.80478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.36362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.28755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.7602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -40.9214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -41.82651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.4255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.57467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.07686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -50.73085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.3694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -55.87614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.18211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.24865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.04549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.53367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.66061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.37001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.62234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.4175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.81108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.91939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.90987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.97469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.29217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.99045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.12811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.62989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.83807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.21575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.66438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.10069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.45896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.68724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.74144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.58278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.18232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.53085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.64626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.57053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.35597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.24839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.76206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.20853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.58038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.87403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.09068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.23675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.32418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.36945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.40284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.03707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -58.02283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -57.00505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.97696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.93649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.88817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.84104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.80448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.78407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.7779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.77285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.74103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.63944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.41701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.03142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.47326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.7899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.0998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.59006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.49311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.04244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.41329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.66675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -39.72432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.39079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.4154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -48.55894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -51.63934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.54658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.23192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -59.68101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -61.88221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -63.80199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.37638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.52167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.16001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.2495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.80744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.9211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.74645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.49167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.38089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.60536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.2829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.44215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.03289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -62.95233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.07575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.28248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.47174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.56656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.50832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.24909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.99179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.98396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.77285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.42834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -69.02113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.60074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.18506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.76418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.31325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.80628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.22433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.55712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.80146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.96065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.04547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.07431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.07002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.00624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.94042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.8828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.82306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.74739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.64797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.52748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.39773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.27515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.17572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.10949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.07334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -42.04258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.96652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.77536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.40287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.82079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.29581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.71428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.6112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.26864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -30.8916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.53858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.0953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.31184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -41.88421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -45.53631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.06985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.37652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.42135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.20897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -60.74541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.00812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -64.93445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.43125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.40136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.77668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.54439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.75937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.54655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -64.0965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.6452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.42958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.63067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.33235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.51455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.07865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.88834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.80779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.72507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.55683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.23933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.94855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.91067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.62664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.1644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.61861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.07775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.59471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.17518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.38148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.91606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.36366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.71195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -59.9572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.10139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.15439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.13684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.07783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.00624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.10476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.96397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.84671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.73822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.61585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.46297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.27681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -41.06852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.8586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.67135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.52774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.4345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.37032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.27706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.06737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.65462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.9983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.14772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.26527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.61846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.53812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.3458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.26403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.34017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.42422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.21886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -37.37454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -41.5795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -45.61168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.34997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -52.75619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -55.83996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -58.61834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.08323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.1867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -64.84755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -65.97477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.4978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.39123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.68719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.47966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.92774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.25149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.70264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.50611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.79784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.59517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.31634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -58.96102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.63321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.24833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.7379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.03616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.08427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.85339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.37026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.72188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -59.02929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.4022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.89885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.51131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.83248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.40524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.86683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.20714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.42545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.52403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.5121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.41291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.26369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.10476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.21382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.96722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.77076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.60641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.44144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.24755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -35.01299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.74461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.4637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.19991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.98235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.82489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.70718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.56281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.28945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.7874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.05864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.37892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.36813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.36807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.60164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.10077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -22.69214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.05177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -31.80005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -36.59091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.16588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -45.36999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.13942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -52.47136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.38619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -57.89404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -59.97626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.58599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.66378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.15874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.34322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -61.11425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.48933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.66735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.89794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.42669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.42276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.93181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.88362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.1439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.57336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.06222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.53024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.90562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.10866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -55.06049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.71687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -54.10406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.32682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.53521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.86451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.38084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.06125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.54016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.15227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.61658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -48.9284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.09292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.11408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.00078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.77968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.49867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.21382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.25575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.87107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.57518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.34875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.14834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.93135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.67362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.3744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -24.05306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.74193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.47495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.26877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -19.09997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.89276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.53444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.92311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.95286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.92122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.27417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.39137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.60831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.13159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -10.9818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -14.98642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -19.82584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.11156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -30.46598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -35.58082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.24616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -44.35193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -47.86829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -50.81359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.22113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.11567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.50409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.37732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.7172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.74013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.45568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.75367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.81712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.89539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.24706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -47.05941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.3912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.17638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.28109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.57054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.94513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.33418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.66586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.84692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.77627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.39038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.71128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.85979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -45.01625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.3446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.92085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.70611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.39353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.05365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.51785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.7885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -40.87835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.79405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.54472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.16171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.70653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.25575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.26272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.71625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.30747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -21.01842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.79509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.57848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.32877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -16.03484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.71224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.39445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -12.11744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.8965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.70146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.44767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -7.01924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.32448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.2554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.73275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.25857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.95923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.53094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.79325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.27378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -6.52523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -11.67721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -17.35565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -23.15938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -28.72451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -33.77384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.13926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -41.75617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -44.63821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -46.84476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.4514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.52784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.1223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.25209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -49.05504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.70494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.92585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.88815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.84702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -40.07706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.77951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -38.01664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.71655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.73916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.95201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.26742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.62812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.9665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.17883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -39.14296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.77505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -38.09004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.22156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.37809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.75181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.42917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.35574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.30885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.03586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.51093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.74287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.75196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.54796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.14107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.56878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.90896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.26272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.43191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.72321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.20543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.86518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.63944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.45202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.24508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.99477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.71155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.42924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -2.18437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.98859, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.19564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.4579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.90821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.61769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.55918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.57854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.41027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.72864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 12.21315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.60743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.75901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 6.63879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 2.34742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -2.88672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -8.72417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -14.75724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -20.57746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -25.84568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -30.33745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -33.95247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -36.69642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.64983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -39.93406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.67715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -40.98114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.89645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.41455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.48935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -38.08755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.25079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -34.13695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -32.00827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -30.15635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.79549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.98849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.65351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.64023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.81558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -28.10286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.46011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.82837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -29.09918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -29.13446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.83261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -28.19996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.37736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.59394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -26.06398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.88234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.9817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.17612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.25763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.08205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.59779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -24.81681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.7648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.45434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -20.89757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.13933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.27503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.43191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.14798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.31197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.71389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.34831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 0.85313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 1.98193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.11421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.28788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.49878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.71362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 7.89582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.03672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.17765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.40573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.81621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.45451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.26738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.08906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.66805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.71929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.97847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 20.24079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 18.37963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 15.35473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 11.22319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 6.15656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), 0.4482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -5.51161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -11.30007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -16.5431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -20.97703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.47077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.01552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.69846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.66928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.09935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.13508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.85678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.26169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.28618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.86677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -25.01712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.88095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.72204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.84178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.46226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.6459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.30329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.2758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.69491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -17.04641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.43721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.7627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.87898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.67389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -17.14551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.43385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.77487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.39188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.38311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.67387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.0611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.31602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.27698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -15.88253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.14196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.7168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.06107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.16706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.14585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.14798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.07262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.9664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.59414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 9.95021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.10242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.15205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.19042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.26902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.39117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.5256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.63594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.71369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.79737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 20.96305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.2848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.78292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.38752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.93686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.20921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.97014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 29.01345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 28.18261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 26.3756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 23.54804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.72874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 15.04639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 9.74788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 4.18366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -1.24865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.18211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.34404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -13.58412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -15.87271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.2848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -17.97462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.13536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -17.9439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.50601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.82843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.83868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.45227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.65977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.58736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.48848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.65884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.31726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.52463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.19069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -4.15616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.28774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.52324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.84717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -5.22825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.57572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.75425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.65296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.26436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.71821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.23901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -4.0412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.21919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.69854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.27616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.71854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -5.85396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.60887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -4.98285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -3.99759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.66642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.00635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.92494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 3.00647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.07262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.71852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.5818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.17932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.49217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.58049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.54692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.49139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.47608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.51248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.57347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.62346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.6852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.78403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 30.99757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.32501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.68958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.94441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.9042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.38496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 36.23275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.33362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.61148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 31.03017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 27.61073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 23.45844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.78043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.87333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 9.07675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.7101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 1.02137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -1.83779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -3.81732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -4.96625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.42106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.37302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.01106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.73455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.77023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.47338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.18125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.08938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.02333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.71219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 6.95348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.68923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.00211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.04165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 7.93518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.74171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.47058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.13895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 6.81586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.61373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.62866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 6.86902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.22302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.49458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.49509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.14098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.4993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.75616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.13226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.79949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.84338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.27991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 6.09854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.28987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.83634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.69593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.71852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.42861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.17533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.6865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 27.92987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 28.95176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.8468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.71479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.62354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.59204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.59934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.61194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.61374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.6203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.66801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.7832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.08759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 42.07212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.75241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.98812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.66866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.71707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 40.08586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.75906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.76708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 31.20743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 27.25473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 23.14712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 19.14963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 15.51054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 12.42908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 10.0399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.40474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.50325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.23028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.41703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.88262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.49854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.23154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.13693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.29976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.75251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.41571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.10043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.57642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.66801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.32133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.6047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.64868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.56913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.42308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.21922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 18.96458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.70417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.51893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.48021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.59205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.76352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 18.83612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.65694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.1578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.39453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.52534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.74505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.21605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 15.03256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.22815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.80709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.76682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 18.09176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.72683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.55874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.42861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.05823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.61865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 33.99756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.15237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.11238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 36.95643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.77517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.63537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.56113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.53845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.53752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.53799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.54127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.56246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.60665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.64446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.60174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.36932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.82696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.86879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.41833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.43057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.88819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.80247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 41.22236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 38.24529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 35.01821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.72283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.54944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.67174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 23.23262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.33845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 20.051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.37185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.22963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.48986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.99584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.62615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.33719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.16368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.17296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.39666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.77925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.1762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.40565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.32456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 29.88458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.13685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.1876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.13665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.03819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 29.90347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.73423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.55461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.41372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.35501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.37448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.39976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.3095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 28.98741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.38194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.5379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.68171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.97959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.57441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.51467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.81923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.49343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.5258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.86921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.42631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.05823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.65175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.9783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.19099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.24272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.14649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 42.96069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.75934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.60105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.5107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.48017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.48432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.50035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.53442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.53755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.48917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.31869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.93211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.23183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 54.13742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.59852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.59719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 51.14483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 49.2804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 47.07207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.61797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 42.04031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.47152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 37.03808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.85011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 33.00002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.56374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.59437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 30.10512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 30.05266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.33853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.83795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.44554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.11263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.85304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.71188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.71426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.82423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 36.93943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 37.9263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.6757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.14677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.3744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.43936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.42263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.37305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.3045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.21686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.11913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.03409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 38.9801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 38.94397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 38.86699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.65845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.23359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.55632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.66319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.65595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.6688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.82953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.23339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.93801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.97317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.35096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 34.06466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.07701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.31029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.65175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.37265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.44235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.46883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.40745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.25862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.05954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.86296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.71327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.63092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.61066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.63155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.67039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.70919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.7323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.71548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.61478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.36308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.87792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 59.07802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.90133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.31724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.32982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.97451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.31268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.42627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.41112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.36742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.38868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.5538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.92646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.56089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.50658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.80376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.46835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.4759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.75853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.22308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.78397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.39274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.04644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.76911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.57692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.44789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.08752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.68834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.0858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.3018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.39355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.4222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.42823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.42578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.41403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.39207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.36373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.32807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.26375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.12122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.83261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.33784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.61428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.69378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.65837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.61783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.68175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.93875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.44912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.24828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.35251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.75927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.44122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.34058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.37265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.44063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.25674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.09431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.9166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.71656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.51271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.3358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.21267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.15486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.15621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.19827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.25843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.34375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.31427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.17954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.87599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.33007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.47259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.25514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.66219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.71458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.46494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.98865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.37346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.70899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 54.07669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.54224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 51.15344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.94455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.94457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.18283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.68615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.46732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.51212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.77494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.1891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.68845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.22869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.79611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.39832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.04295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.71725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.38127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 52.9791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.46151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.80684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.02788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.16187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.25083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.32433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.39349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.45584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.50388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.52884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.51662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.44007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.25608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 53.91356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.37151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.61897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.68638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.6422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.5772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.58433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.74261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.10961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.72147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.59602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.73393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.11684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.70514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.44063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.67835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.34273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.05401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.80217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.59174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.4345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.3402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.30968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.33293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.46404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.52596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.55063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.50334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.33717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.99252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.4035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.51082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.27723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.69905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.80888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.6692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.36064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.9693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.57552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.24541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 58.02653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.94885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 56.03061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.28617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.73096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.38004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.24037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.30175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.53296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.88714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.31493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.77858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.25943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.75464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.26557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.78537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.29341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.7599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.15785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.47497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.71842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 59.90981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.07405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.22858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.37842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.51749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.63293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.70764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.71928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.63766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.42529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.04436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.46939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.70011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.76793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.73244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.66969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.76412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.04039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.51993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.22018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.1443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.28166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.51921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.0656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.75923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.52993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.2944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.27622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.36735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.43489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.48492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.48887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.41098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.20549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.81707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.18698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.26511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 71.02433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.47071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.64443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.61147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.45063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.24094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 65.05186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.93725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.93344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 62.06142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.33215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.75256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.32943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 60.06883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.97174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.02862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.21686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.50345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.85245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.23369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.6283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.02853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.43242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.83702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.23438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.6125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 63.96023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.27283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.55424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.81478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.06537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.31164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.55058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.77055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 65.95325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.07554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.11015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.02633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.79254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.3828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.78532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.00997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.09067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.08109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.04556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.04863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.38258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.51921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.11083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.74495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.47708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.29848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.19817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.16186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.1718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.20741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.24582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.26163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.22532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.10081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.84377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.40279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.72571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.77121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.52187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.99219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.22688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.29093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.25675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.19328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.15872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.19697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.33721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.59617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.9821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.49876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.14813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.93046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.84228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.8738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.22037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.48644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.78326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.09487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.41289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.73458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.05961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.38744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.71652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.04539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.37414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.70487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.04035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.38119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.72295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.05436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.35714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.60719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.77629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.83418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.75122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.50255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.07348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.4649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.69623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.80439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.83876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.85396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.90272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.03039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.65176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.18409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.87542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.72592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.73097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.24002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.44838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.78318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.23816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.80588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.47739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.24171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.08544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.99264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.94495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.92187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.90071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.85586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.75732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.56886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.24708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.74351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 78.01148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 78.01771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.75409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.24269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.53089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.68002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.75377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.80986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.89558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 72.04626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.28578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.62839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.08134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.6473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.32611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.11514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 69.0088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.99769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.06835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.20424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.38793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.6038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.84025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.09073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.35332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.62931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.92157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.23338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.56768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 71.92665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.31103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.71892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.14427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.57541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 73.99425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.37627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.69176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 74.90796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 74.99242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 74.91743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.66497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.23111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.62824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.88417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.03832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.13635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.22463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.34573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.53541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.82133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.22307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.75315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.41853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.22195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.16323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.24002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.57308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.00885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.39653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.88985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.48073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.15896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.91211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.72562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.58289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.4652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.35132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.2166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 79.03142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.75974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.35875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.78168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.98595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.94544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.66103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.16189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.49686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.72211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.89152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 77.05143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.23877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.48102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.79724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.19936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.69388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.28318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.96663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.74108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.60106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.54449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.60716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.71572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.86044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.03418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.45625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.70592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 73.98565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.29971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.65179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.04403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.47582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 75.94274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.4353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 76.93804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.42884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.87906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.25467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.51908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.6378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.58463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.3475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.93177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.35938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.66452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.88785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.07123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.2538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.46965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.74662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.10615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.56375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.12995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.81132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.61153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.53214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.57308, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength) {
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58529.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57398.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56255.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 55106.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53959.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52815, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51672.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50526.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49364.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48170.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46927.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45618.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44230.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42757.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41202.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39580.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37914.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36237, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34587.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 33011.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31550.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30245.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 29125.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28205.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27484.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26944.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26554.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26275.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 26067.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25895.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25736.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25576.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25418.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25274.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25167.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25133.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25213.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25455, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25904.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26604.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27583.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28855, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30416.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32247.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34316, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36577.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 38985, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41487.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44035.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46585.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49095.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51531.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53858.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56045.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58061.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59878.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61469.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62815.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63905.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64735.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65309.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65640, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65741.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65634.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65337.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64871.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64256.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63513.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62660.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61717.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60703.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59635.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58529.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56355.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55169, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53974.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52779.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51591.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50413.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49246.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 48084.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46918.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45732, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44505.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43220.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41858.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40410.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38875.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37264, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35596.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33906.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32236.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30638.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29165.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27869.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26790.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25950.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25347.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24959.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24740.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24639.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24601.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24583.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24553, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24494.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24405.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24295.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24185.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 24109.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 24113.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24252.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24590.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25188.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26094.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27335.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28914.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30811, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 32983.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35376.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 37925.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40566, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43235.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 45880.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48455.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 50924.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53253.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55416.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57382.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59127.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60627.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61869.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62845.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63560.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64022.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64249, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64256.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64063.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63690.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63154.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62472.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61664.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60745.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59736.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58655.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57522.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56355.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53996.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52780.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51560.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50343.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49134.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47938.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46757.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45590.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44429.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43261.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 42068.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40831.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39531.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38155.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36697.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35160.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33558.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31922, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30293.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28728.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27290.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 26042.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 25034.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24297.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23828.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23598.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23550.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23620.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23745.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23877.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23982.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 24045, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 24060.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 24031.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23970.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23900.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23861.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23912.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 24126.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24583.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25354.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26488.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28003.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29884.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32085, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34539.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37167.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 39886.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42620.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45301.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 47879.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50317.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52583.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54652.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56498.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58100.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59443.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60519.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61335.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61901.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62237.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62359.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62285, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62030.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61608.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61033.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60319, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59478.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58526.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57482.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56365.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55196.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53996.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51481.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50262.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 49042.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47827.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46620.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45425.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44245.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 43084.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41938.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40798.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39653, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38484, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37274.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 36008.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34673.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33265.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31788, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30264, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28733.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27253.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25895.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24730.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23817.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23192.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22854, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22764.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22861.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23071.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23330.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23592.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23829.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 24029.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24187.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24297.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24356.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24369.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24360.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24377.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24495.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24807.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25404.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26363, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27724.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29489.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31619.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34042.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36666.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39390.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42121.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44780.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47308.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49663.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51817.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53742.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55416.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56821.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 57952.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58815.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59431.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59826.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60026.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60050, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59909.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59611.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59164.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58574.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 57004.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56046.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54993.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53866.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52688.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51481.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48824.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47630.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46439.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45253.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 44074.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42904.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41748.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40611.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39496.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38400.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37316.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36232.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35134.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 34006, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32828.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31587.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30278, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28913, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27527.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26178.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24940.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23887.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 23084.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22569.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22340.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22358.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22559, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22868.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23227.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23595.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23957, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24305.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24636.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24933.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25176.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25346.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25443.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25498.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25576.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25771.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26188.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26924.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28052.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29600.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31549.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33832.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36351.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 38992.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41645.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44219, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46645.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 48879.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 50885.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52636.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54106.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55281.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56166.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56784.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57178.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57390.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57454.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57388.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57195.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56870.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56412, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55820.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55103.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54267.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53324, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52286, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51173.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 50012.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48824.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46055.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44914.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43781.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42655.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41535.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40421.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39319.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38236.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37178.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36149.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35147.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34167.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33198.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32224.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31223.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30171.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 29057.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27882.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26678.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25496.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24408.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23488.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22799, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22378.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22227.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22312.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22573.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22943.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23372.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23828.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24305.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24802.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25313.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25815.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26268, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26631.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26883.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 27031.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 27125.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27248, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27505, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 28008.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28856.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30111.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31782.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33821.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36133.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38597.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41091.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43514.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45790.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 47867.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49704.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51266.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52521.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53456.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54084.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54449.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54617.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54649.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54587.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54444.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54211.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53868.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53405.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52818.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52115.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51302.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50388.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49386.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48313.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47194.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46055.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43233.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42176.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41132.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40099.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39071.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 38050.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 37038.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 36046.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 35082.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34152.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33260.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32405.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31581.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30772.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29955.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 29102.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28195.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27230.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26229.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25239.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24319.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23537.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22951.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22598.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22485.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22591.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22869.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23267.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23743, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24272.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24850, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25477.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26145.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26823.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27462.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 28006.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28414.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28675.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28819.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28911.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 29048.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29343.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29911.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30843.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32182.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 33904.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 35928, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38132.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40393.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42602, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44679.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46568.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48220.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49590, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50636.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51343, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51730.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51861.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51822, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51692.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51521.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51315.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51049.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50693.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50226.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49644.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48956.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48173.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47302.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46353.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45343.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44295.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43233.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40466.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39523.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38599.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37689.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36788.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35895, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 35013.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34153.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33322.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32529.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31779.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 31073.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30409.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29772.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29141.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28489.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27792.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 27043, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26254.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25461.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24710.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 24056, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23548.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23225, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23104.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23181.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23432.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23822.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24319, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24898.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25550.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26269.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27041.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27833.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28592, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29258.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29783, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30141.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30345.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30439.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30502.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30640.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30972.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31608.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32615.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 33997.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35688.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37580.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39550.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41493.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43331.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45004.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46459.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47639.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48495.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49004.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49191.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49131.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48926.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48668.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48408.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48148.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47852.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47478.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47003.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46422.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45750, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 44999.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44180, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43300.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42374.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41422.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40466.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37910.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37109.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36331.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35571.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34823.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34088.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33370.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32677.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 32018.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31397.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30820, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30287, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29796.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29338.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28894, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28438, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27947, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27407.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26823.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26213.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25610.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 25056, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24592.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24258, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24082.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24081.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24256.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24594, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25070.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25660.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26342.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27098.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27904.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28729.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29524.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30236.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30818.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31239.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31496.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31614.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31652.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31701, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31873, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32282.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33011.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34080.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35442.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37003.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38655.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40303.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 41874.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43313.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44562.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45560, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46249.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46603.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46646.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46455.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46138.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45790.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45461.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45149.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44814.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44412.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43917.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43331.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42670, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41952.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41189.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40390.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39565.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38733.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37910.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35744.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35105, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34492.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33899.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33323, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32764.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32231.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31731.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31269.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30848.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30467.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30126.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29823.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29549.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29290.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 29024.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28727.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28378.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27971.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27511.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 27020.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26527.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 26070.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25687.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25418, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25295.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25346.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25578.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 25980.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26523.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27175.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27902.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28675, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29459.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30217.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30907.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31491.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31939.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32238.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32397.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32456.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32488.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32591.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32871.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33409.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34230.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35304.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36555.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 37895, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39244.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40543.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41741.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42783.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43608.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44157.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44401.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44359.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44102.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43729.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43326.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42940, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42567.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42174.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41722.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41191.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40586.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39928, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39238.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38532, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37818.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37108.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36413.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35744.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34125.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33657.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33217.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32797.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32396.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 32019.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31678, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31380.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31130.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30924.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30756.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30620.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30512.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30427.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30351.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30265.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30141.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29953.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29684.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29330.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28904.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28432.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27947.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27488.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 27100.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26829.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26720.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26800.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27070, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27503.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28061.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28700.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29383.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30077.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30754.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31384.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31938.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32390.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32723, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32936.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33055.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33136, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33257.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33507.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33949.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34607.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35458.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36446.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37507.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38585, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39630.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40601.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41448.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42115.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42549, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42721.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42644.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42374.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 41988.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41553.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41110.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40659.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40179.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39646.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39052.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38409.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37739, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37066.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36408.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35777.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35183.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34632.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34125.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33149.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32844.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32571.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32317, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32083.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31881.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31726.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31629.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31591.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31603.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31653, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31728.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31821.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31926.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 32030.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 32110.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 32136.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 32074.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31900.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31607.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31203.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30714.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30173.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29620.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 29104.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28679.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28399.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28304, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28404.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28682.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29097.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29604.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30165, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30749.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31333.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31896.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32415.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32866.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33232.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33509.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33715, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33891.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34097.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34394.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34823.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35395.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36092.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36878.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37715.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38567.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39400.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40178.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40859.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41393.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41738.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41869.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41791.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41539.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41160.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40702.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40191.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39637.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39038.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38390.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37700.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 36989.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36283, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35605.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 34976.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34412.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33920.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33501.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33149.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32831.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32666.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32538.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32432.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32351.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32311.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32330.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32422.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32587.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32810.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33073, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33357.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33651.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33944.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34220, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34452.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34604.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34639, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34527.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34259, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33844.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33311.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32694.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 32039.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31398.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30829.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30392.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30130.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30060.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30168.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30422.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30780.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31210.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31687.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32191.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32702.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33199.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33658, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34060.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34405, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34705.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 34996, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35316.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35701.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36166.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36709.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37313.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 37960.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38635.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39321.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 39997.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40634, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41192.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41633.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 41920.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42034.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 41972.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41746.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41378, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40888.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40296.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39618.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38871.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38075.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37257.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36446, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35670, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34956.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34326.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33796.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33375.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33059.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32831.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33135.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33069.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33055.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33074.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33128.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33234.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33413, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33678.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 34029.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34447.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34910, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35392.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35877.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36348.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36783.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37152.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37412.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37523.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37453.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37192.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36750.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 36159, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35458.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34701.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33946.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33256.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32691.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32293, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32078.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32037.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32141.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32361.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32672.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33057.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33499.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 33979.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34470.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34945.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35387, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35792.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36178.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36571.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 36998.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37472.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 37988.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38532.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39089.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39654.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40229.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40812.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41393.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 41947.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42438.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42832.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43098.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43217.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43178.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 42976.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42609.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42078.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41396, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40583.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39675.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38714, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37742.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36800.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35922.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35138.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34470.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33935.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33541.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33281.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33135.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 34001.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33991.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34053.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34170.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34340.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34578.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34902.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35325.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35841.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36433, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 37071.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37729.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38383.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 39011.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39586.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 40073, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40425.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40600.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40564.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40306.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39837, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 39189.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38412.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37564.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36712.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35925.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35262.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34763.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34440.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34282.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34268, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34373.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34585.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34894.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35288.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35746, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36237.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36729.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37203.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37655.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38101.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38567.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39068, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39604.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40161.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40718.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41261.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41794, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42326.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 42868.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43414.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 43943.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44421, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44814.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45094.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45238.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45229.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45046.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44672.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44096.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43325.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42386.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41324.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40198.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39066.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 37980.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 36981.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36100.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35361.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34782.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34369.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34116.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 34001.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35380.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35382.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35487.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35675.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35943.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36298.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36754.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37316.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37975.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38711.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39494.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40294.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 41083.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41835.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42520, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 43097.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43521.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43748.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43742.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43492.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 43006.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42319.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41484.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40567, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39642.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38782.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 38046.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37472, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 37067.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36821.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36714, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36729.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36859.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37103, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37450.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37881.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38363.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38861.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39350.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39827.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40305.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40805.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41339.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 41905.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42484.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43055.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43610.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44152.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44695.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45251.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45816.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46368.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 46877.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47308.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47630.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47816.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47839.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47673.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47290.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46675.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45831.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44789.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43602.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42337.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41065.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39845.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38725, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37739.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36913, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36263.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35796.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35508.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35380.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37235.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37220.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37339.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37574.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37919.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38375.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38944.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39624.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40400.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41248.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 42136.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 43035.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43914.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44746.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45498.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 46131.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46599.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46858.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46876.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46637.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 46149.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45446.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44581.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43624.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42654.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41744.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40953.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40317.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39843.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39522.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39337.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39275.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39333.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39513.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39807.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40196.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40648.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41129, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41611.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42088.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42569.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43071.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43607, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44173.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44759.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45349.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 45935.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46521.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47118.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47732.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48357.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 48972, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49542.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50034.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50413.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50647.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50705.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50554.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50165.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49523.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48633.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47525.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46258, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44901.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43531.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42212.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 40996.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39922.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39013.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38287.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37752.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37406.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37235.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39535.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39490.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39604.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39866, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40265.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40797.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41453.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42220.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 43077.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43996.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44945.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45893.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46812.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47673.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48444, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 49087.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49562.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49828.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49854.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49625.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 49146.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48449.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47585, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46622, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45636.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44699.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43869.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43179.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42641.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42248.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41988.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41852.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41840.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41950.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42178.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42506.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42904.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43342.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43792.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44246.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44708.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45192.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45710.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46265.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46854, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47467, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48100.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48754.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49433.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50135, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 50846.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51542.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52189.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52750.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53188.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53468.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53556.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53419.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53031.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52380.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51474.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50346.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49053.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47664.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46255.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44892.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43628.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42502.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41538.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40754.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40159.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39755, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39535.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42227.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42155.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42258, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42528, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42955.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43527.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44229.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 45038.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45928.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46868.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47826.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48772.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49676.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50513.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51252.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51861.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52305.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52547.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52562.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52336.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51873.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51200.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50364.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49426.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48455.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47517.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46665.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45933.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45336.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44874.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44540.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44330.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44242.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44276.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44425.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44674.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 44999.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45371.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45769, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46181.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46611.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47069.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47566.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48111.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48707, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49350.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50039.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50772, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51541.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52338.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53141.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 53921.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54642, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55265.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55752.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56068.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56179, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56055.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55677.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55038.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54150.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53049.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51786.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50430.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49049.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47706.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46453.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45327.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44353.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43549.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42923.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42483, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42227.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45124, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45213.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45474.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45897, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46465.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47159.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47953.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48818.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49721.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50630.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51518.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52356.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 53120.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53784.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54319.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54697.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54891.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54877.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54647.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54204.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53570.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52786.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51901.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50975.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 50064.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49214.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48459.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47818, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47296.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46895, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46612.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46448.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46401.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46463.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46623.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46860.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47154, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47486.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47849.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48243.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48676.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49160, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49703.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50313.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 50992.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51736.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52538.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53388.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54264.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55142.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 55987.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56762.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57428.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 57947.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58284.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58410.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58302.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 57946.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57343.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56508.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55478.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54301.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53038.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51748.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50490.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49310, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48241.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47310.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46532.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45918.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45476.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48312.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48225, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48299.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48533, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48915.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49431.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 50061.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50779, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51555.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52360.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 53165, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53942.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54668.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55319.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55873.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56307.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56599.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56728, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56677.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56441.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 56024.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55443.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54729.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53922.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 53069.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52214.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51397, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50648.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49988.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49429.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48977.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48634.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48400.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48274.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48251.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48321.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48470.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48684.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 48951.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49264.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49625.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50040.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50517.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51067.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51696, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52404.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53188.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54037.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 54935.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 55857.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56773, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57647.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58442.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59120.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59647.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 59991.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60128.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60041.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59724.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59182.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58437.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57520.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56476.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55357.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54213.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53095, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52040.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51082.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50241.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49534.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 48972.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48563.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48312.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51299.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51215.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51268.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51455.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51766.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52188.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52704.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53292.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53926.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54582.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55235.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55861.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56439.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56950, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57373.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57692.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57889.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57950.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57865, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57628.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57245.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56729.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56103, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55395.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54639.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53870.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53119.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52413.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51771.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51208.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50733.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50352.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50068.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49880, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49785.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49778.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49851.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 49995.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50204.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50476, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50809.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51211, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51685.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52240.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 52877.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53597.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54392.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55249.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56149.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57066.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 57969.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58824.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59597.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60253.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60763.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61100.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61245.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61189.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60930.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60478.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59853.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59085.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58212.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57276.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56318.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55378.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54489.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53677.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 52962, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52357.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51874.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51520.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51299.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53914.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53830.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53851.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53974.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54192.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54493.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54865.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55291, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55751.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56228.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56701.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 57152.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57564.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57921.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58208, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58410.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58516.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58516.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58404.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58176.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57838.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57397.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56870.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56277, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55640, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54983.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54331.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53704.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53121, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52594.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52134.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51750.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51447.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51225.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51087.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51029.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51049.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51143.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51310.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51549.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51859.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52245.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52708.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53252.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 53874.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54572.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55336.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56151.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 56998.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57853.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58689.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59474.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60181.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60781.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61250.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61568.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61722.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61706.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61522.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61182, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60702.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60108.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59429.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58699, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 57948.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57207.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56502.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55855.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55280.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54792.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54398.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54104.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53914.3, 145 + 500);
}
